package com.tanhua.dubbo.server.api;

import cn.hutool.system.UserInfo;
import com.tanhua.dubbo.server.pojo.Comment;
import com.tanhua.dubbo.server.pojo.Publish;
import com.tanhua.dubbo.server.vo.PageInfo;
import org.bson.types.ObjectId;

import java.util.Collection;
import java.util.List;

public interface MessageDetailApi {


    /**
     * 根据id查询动态
     * @param id 动态id
     * @return
     */
    Publish queryPublishByPublishId(String id);

    /**
     *  查询喜欢 评论 转发 举报数量
     * @param id
     * @return
     */
    List<Comment> queryCommentByPublishId(String id);


    /**
     * 根据 用户id 查找用户的所有动态
     * @param uid
     * @return
     */
    List<Comment> queryCommentByUserId(Integer uid);

    /**
     * 根据 用户id 查找用户的所有动态

     * @return
     */



    List<Comment> queryAllComment();


    /**
     * 查询已通过状态数量

     * @return
     */
    List<Publish> queryPass(Integer uid,Long sd, Long ed);
    /**
     * 查询待审核状态数量

     * @return
     */
    List<Publish> queryCheck(Integer uid,Long sd, Long ed);

    /**
     * 查询已拒绝状态数量

     * @return
     */
    List<Publish> queryReject(Integer uid,Long sd, Long ed);



    PageInfo<Publish> queryAllPublish(Integer page, Integer pagesize,String sortOrder,String  state);


    /**
     * 根据动态id 查找动态内容
     * @param publishId
     * @return
     */
    List<Comment> queryPublishComment(String publishId);


    PageInfo<Publish> queryPublishByUserId(Integer page, Integer pagesize, String sortOrder, Integer uid, String  state);

    PageInfo<Publish> queryPublishByUserIdAndDate(Integer page, Integer pagesize, String sortOrder, Integer uid, String state,Long sd,Long ed);

    PageInfo<Publish> queryPublishByDate(Integer page, Integer pagesize, String sortOrder, String state, Long sd, Long ed);

}
